다형성을 위해 any를 쓰면, 헬퍼가 제대로 작동하지 않음. Generic을 쓰면 정상 작동함. Generic을 쓰자!
1 2 3 4
| function helloGeneric<T>(message: T): T { return message; } console.log(hello<string>('Hello'));
|
- Generic 타입을 쓰지 않으면 T로 추론.
- Generic 타입을 쓰면 T를 확인
Generic Class
1 2 3 4 5 6 7 8 9 10 11
| class Person<T> { private _name: T; constructor(name: T) { this._name = name; } }
const junho = new Person('Junho'); new Person<number>('junho');
class Person<T extends string | number> { ...}
|
Multitype
1 2 3 4 5 6 7 8 9
| class Person<T, K> { name: T; age: K; }
function getProperty<T, K extends keyof T> (obj: T, key: K): T[K] { return obj[key]; }
|
Reference
https://www.inflearn.com/course-status-2/